package su.product.dao;
import java.sql.SQLException;
import java.util.List;

import net.kuakao.core.dto.PagerDTO;
import su.product.entity.Product;

/**
 * 产品
 * @作者 autopub
 * @创建日期 2012-08-18
 * @版本 V 1.0
 *
 */
public interface IProductDAO {
	
	/**
	 * 产品分页查询
	 * @param s 查询条件
	 * @return 产品列表
	 * @throws SQLException
	 */
	public List<Product> queryByPage(PagerDTO s) throws SQLException;
	
	/**
	 * 查询单个产品对象
	 * @param id
	 * @return 产品
	 * @throws SQLException
	 */
	public Product getById(int id) throws SQLException;
	
	/**
	 * 创建产品
	 * @param o 产品实体类
	 * @throws SQLException
	 */
	public void insert(Product o) throws SQLException;
	
	/**
	 * 更新产品
	 * @param o 产品实体类
	 * @throws SQLException
	 */
	public void update(Product o) throws SQLException;
	
	/**
	 * 修改产品出厂价
	 * @param productId
	 * @param price
	 * @throws SQLException
	 */
	public void updatePrice(int productId,double price) throws SQLException;
	
	/**
	 * 删除产品
	 * @param id 产品ID
	 * @throws SQLException
	 */
	public void remove(int id) throws SQLException;
	
	/**
	 * 修改产品分类
	 * @param productId
	 * @param oldCateId
	 * @param newCateId
	 * @throws Exception
	 */
	public void updateProductCate(int productId,int oldCateId,int newCateId)throws Exception;
	
	/**
	 * 修改产品的库存量
	 * @param productId
	 * @param totalNum 即时库存量
	 * @throws Exception
	 */
	public void updateTotalNum(int productId,double totalNum)throws Exception;

}

